﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace SuperKit
{
    /*
     * 这个项目直接在目录下增加一个目录。再简单不过的功能。通常使用“子目录”来实现一个功能。
     * 比如说，一个视频合集中，有1到20个文件夹，每个文件夹里面有数个视频，而其中你想把好的视频放在一起，坏的视频放在一起。
     * 这样你就需要两个文件夹GOOD和BAD来分别选择保存，或者至少有一个文件夹（另外的保存在根部）。
     * 这样每个文件夹里面生成一个GOOD文件夹，就方便选择了。
     */
    class ClearEmptyDirectory : CommandExecutor {


        public ClearEmptyDirectory(ArgReader arg, IExecutorOwner form, string fpath) : base(arg, form, fpath) {
            
        }


        public override void Execute() {
            base.Execute();            

            Thread t = new Thread(OnProcess);
            t.Start();
        }

        private void OnProcess() {
            var dirs = Kit.GetAllDirectories(null, new DirectoryInfo(FilePath));

            foreach (var i in dirs) {
                if ((Kit.Len(i.GetFiles()) + Kit.Len(i.GetDirectories())) == 0){
                    i.Delete();
                    Flush($"删除:{i.Name}");
                }
            }

            End();
        }
    }
}
